package com.crm.crm.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 商机管理实体类
 */
@Data
//@Entity
//@TableName("business_opportunity")
//@DynamicInsert
//@DynamicUpdate
public class BusinessOpportunity {
//    @GeneratedValue(strategy = GenerationType.IDENTITY)
//    @Column(comment = "客户ID，系统生成，自增主键")
    @Id
    private Integer id;

    //    @NotBlank(message = "姓名不能为空")
//    @Size(min = 2, max = 4, message = "姓名长度必须为2-4个汉字")
//    @Column(nullable = false, comment = "姓名，必填，2-4个汉字")
    private String name;
    //
//    @NotBlank(message = "手机号不能为空")
//    @Pattern(regexp = "^[0-9]{11}$", message = "手机号必须为11位数字")
//    @Column(nullable = false, unique = true, comment = "手机号，必填，11位数字")
    private String phone;

    //    @Column(comment = "性别，0男1女")
    private String sex;

    //    @Pattern(regexp = "^[a-zA-Z0-9]{1,20}$", message = "微信号必须为1-20位字母或数字")
//    @Column(comment = "微信号，选填，1-20字母或数字")
    private String weixin;

    //    @Pattern(regexp = "^[a-zA-Z0-9]{1,20}$", message = "QQ号必须为1-20位字母或数字")
//    @Column(comment = "QQ号，选填，1-20字母或数字")
    private String qq;

    //    @Min(value = 16, message = "年龄不能小于16")
//    @Max(value = 99, message = "年龄不能大于99")
//    @Column(comment = "年龄，选填，16-99")
    private Integer age;

    //    @Column(comment = "省份，选填")
    private String provinces;

    //    @Column(comment = "城市，选填")
    private String city;

    //    @NotBlank(message = "学科不能为空")
//    @Column(nullable = false, comment = "Java, 前端, 人工智能, 大数据, Python, 测试, 新媒体, 产品经理, UI设计")
    private String subject;

    //    @Column(comment = "渠道来源，选填")
    private String channel;

    //    @Size(max = 255, message = "备注不能超过255字")
//    @Column(comment = "备注，选填，0-255字")
    private String remark;

    //    @Column(comment = "归属人")
    private String owner;

    /**
     * 创建人
     */
    private String createBy;

    //    @Column(updatable = false, columnDefinition = "datetime default CURRENT_TIMESTAMP comment '创建时间'")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    private String updateBy;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    //    @Column(comment = "商机状态")
    private String status;

    //    @Column(comment = "下次跟进时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private LocalDateTime nextTime;

    //    所在地区
    private String region;

    /**
     * 学历
     */
    private String education;
    /**
     * 专业
     */
    private String major;
    /**
     * 职业
     */
    private String job;
    /**
     * 当前薪资
     */
    private String salary;
    /**
     * 期待薪资
     */
    private String expectedSalary;
    /**
     * 学习原因
     */
    private String reason;
    /**
     * 职业计划
     */
    private String plan;
    /**
     * 时间计划
     */
    private String planTime;
    /**
     * 其它意向
     */
    private String otherIntention;
    /**
     *
     */
    private Integer courseId;
    /**
     *
     */
    private String occupation;
}